home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
cpp_libs
/
sos3-2.lha
/
src
/
knl
/
knl_use.h
< prev
next >
Wrap
C/C++ Source or Header
|
1991-11-08
|
14KB
|
323 lines
#ifndef knl_SOSH
#define knl_SOSH 1
enum sos_Bool { FALSE,TRUE };
enum sos_Eq_kind { EQ_STRONG,EQ_WEAK };
enum sos_Comp_result { CMP_LESS,CMP_EQUAL,CMP_GREATER };
class sos_Object;
class sos_Ordered_object;
class sos_Scalar_object;
class sos_String;
class sos_Named;
class sos_Type;
#include "knl_ext.h"
#define _void_type sos_Id::make(sos_Container::make(15319856),1216)
#define void_type sos_type_object(_void_type,sos_Id::make(sos_Container::make(279048),504144))
sos_Object make_sos_Int_object(sos_Int);
sos_Int make_sos_Int(sos_Object);
#define _sos_Int_type sos_Id::make(sos_Container::make(15319856),1380)
#define sos_Int_type sos_type_object(_sos_Int_type,sos_Id::make(sos_Container::make(279048),504144))
sos_Object make_sos_Char_object(sos_Char);
sos_Char make_sos_Char(sos_Object);
#define _sos_Char_type sos_Id::make(sos_Container::make(15319856),1464)
#define sos_Char_type sos_type_object(_sos_Char_type,sos_Id::make(sos_Container::make(279048),504144))
sos_Object make_sos_Cstring_object(sos_Cstring);
sos_Cstring make_sos_Cstring(sos_Object);
#define _sos_Cstring_type sos_Id::make(sos_Container::make(15319856),1552)
#define sos_Cstring_type sos_type_object(_sos_Cstring_type,sos_Id::make(sos_Container::make(279048),504144))
sos_Object make_sos_Pointer_object(sos_Pointer);
sos_Pointer make_sos_Pointer(sos_Object);
#define _sos_Pointer_type sos_Id::make(sos_Container::make(15319856),1640)
#define sos_Pointer_type sos_type_object(_sos_Pointer_type,sos_Id::make(sos_Container::make(279048),504144))
sos_Object make_sos_Container_object(sos_Container);
sos_Container make_sos_Container(sos_Object);
#define _sos_Container_type sos_Id::make(sos_Container::make(15319856),1732)
#define sos_Container_type sos_type_object(_sos_Container_type,sos_Id::make(sos_Container::make(279048),504144))
sos_Object make_sos_Id_object(sos_Id);
sos_Id make_sos_Id(sos_Object);
#define _sos_Id_type sos_Id::make(sos_Container::make(15319856),1816)
#define sos_Id_type sos_type_object(_sos_Id_type,sos_Id::make(sos_Container::make(279048),504144))
sos_Object make_sos_Offset_object(sos_Offset);
sos_Offset make_sos_Offset(sos_Object);
#define _sos_Offset_type sos_Id::make(sos_Container::make(15319856),1904)
#define sos_Offset_type sos_type_object(_sos_Offset_type,sos_Id::make(sos_Container::make(279048),504144))
inline void bcopy_from_sos_Bool (void *e,void *c)
{ *(sos_Char*)c = (sos_Char)*(sos_Bool*)e; }
inline void bcopy_to_sos_Bool (void *e,void *c)
{ *(sos_Bool*)e = (sos_Bool)*(sos_Char*)c; }
sos_Object make_sos_Bool_object(sos_Bool);
sos_Bool make_sos_Bool(sos_Object);
#define _sos_Bool_type sos_Id::make(sos_Container::make(15319856),3152)
#define sos_Bool_type sos_type_object(_sos_Bool_type,sos_Id::make(sos_Container::make(279048),471440))
inline void bcopy_from_sos_Eq_kind (void *e,void *c)
{ *(sos_Char*)c = (sos_Char)*(sos_Eq_kind*)e; }
inline void bcopy_to_sos_Eq_kind (void *e,void *c)
{ *(sos_Eq_kind*)e = (sos_Eq_kind)*(sos_Char*)c; }
sos_Object make_sos_Eq_kind_object(sos_Eq_kind);
sos_Eq_kind make_sos_Eq_kind(sos_Object);
#define _sos_Eq_kind_type sos_Id::make(sos_Container::make(15319856),3376)
#define sos_Eq_kind_type sos_type_object(_sos_Eq_kind_type,sos_Id::make(sos_Container::make(279048),471440))
inline void bcopy_from_sos_Comp_result (void *e,void *c)
{ *(sos_Char*)c = (sos_Char)*(sos_Comp_result*)e; }
inline void bcopy_to_sos_Comp_result (void *e,void *c)
{ *(sos_Comp_result*)e = (sos_Comp_result)*(sos_Char*)c; }
sos_Object make_sos_Comp_result_object(sos_Comp_result);
sos_Comp_result make_sos_Comp_result(sos_Object);
#define _sos_Comp_result_type sos_Id::make(sos_Container::make(15319856),3672)
#define sos_Comp_result_type sos_type_object(_sos_Comp_result_type,sos_Id::make(sos_Container::make(279048),471440))
class sos_Object: public sos_Root_class
{ friend class _sos_Object;
class _sos_Object* _ref;
public:
static sos_Object make(sos_Typed_id&);
static sos_Object make(sos_Typed_id&p,_sos_Object*r){
sos_Object o; o._tpid = p; o._ref=r; return o;}
static sos_Object make(sos_Root_class&);
sos_Offset _size();
static sos_Object create(sos_Container);
static sos_Object copy(sos_Object,sos_Container);
static sos_Object clone(sos_Object,sos_Container);
void destroy();
void assign(sos_Object source);
sos_Bool equal(sos_Object o,sos_Eq_kind eq_kind = EQ_STRONG);
sos_Int hash_value();
sos_Type type();
sos_Bool has_type(sos_Type _p1);
sos_Bool isa(sos_Type _p1);
sos_Bool is_some(sos_Type _p1);
sos_Bool is_value();
sos_Int size();
sos_Bool identical(sos_Object _p1);
sos_Bool operator==(sos_Object _p1);
sos_Bool operator!=(sos_Object _p1);
sos_Bool like(sos_Object _p1);
sos_Comp_result compare_ids(sos_Object _p1);
private:
sos_Id get_type_id();
void set_type_id(sos_Id _p1);
protected:
static void local_assign(sos_Object _p1,sos_Object _p2);
static sos_Bool local_equal(sos_Object _p1,sos_Object _p2,sos_Eq_kind _p3);
static sos_Int local_hash_value(sos_Object _p1);
};
#define _sos_Object_type sos_Id::make(sos_Container::make(15319856),3764)
#define sos_Object_type sos_type_object(_sos_Object_type,sos_Id::make(sos_Container::make(279048),529560))
class sos_Ordered_object: public sos_Root_class
{ friend class _sos_Ordered_object;
class _sos_Ordered_object* _ref;
public:
operator sos_Object ();
static sos_Ordered_object make(sos_Typed_id&);
static sos_Ordered_object make(sos_Typed_id&p,_sos_Ordered_object*r){
sos_Ordered_object o; o._tpid = p; o._ref=r; return o;}
static sos_Ordered_object make(sos_Root_class&);
sos_Offset _size();
static sos_Ordered_object create(sos_Container);
static sos_Ordered_object copy(sos_Ordered_object,sos_Container);
static sos_Ordered_object clone(sos_Ordered_object,sos_Container);
void destroy();
void assign(sos_Object source);
sos_Bool equal(sos_Object o,sos_Eq_kind eq_kind = EQ_STRONG);
sos_Int hash_value();
sos_Comp_result compare(sos_Ordered_object _p1);
sos_Bool operator<(sos_Ordered_object _p1);
sos_Bool operator<=(sos_Ordered_object _p1);
sos_Bool operator>(sos_Ordered_object _p1);
sos_Bool operator>=(sos_Ordered_object _p1);
sos_Type type();
sos_Bool has_type(sos_Type _p1);
sos_Bool isa(sos_Type _p1);
sos_Bool is_some(sos_Type _p1);
sos_Bool is_value();
sos_Int size();
sos_Bool identical(sos_Object _p1);
sos_Bool operator==(sos_Object _p1);
sos_Bool operator!=(sos_Object _p1);
sos_Bool like(sos_Object _p1);
sos_Comp_result compare_ids(sos_Object _p1);
protected:
static void local_assign(sos_Ordered_object x,sos_Ordered_object y);
static sos_Bool local_equal(sos_Ordered_object x,sos_Ordered_object y,sos_Eq_kind eq_kind = EQ_STRONG);
static sos_Int local_hash_value(sos_Ordered_object x);
};
#define _sos_Ordered_object_type sos_Id::make(sos_Container::make(15319856),13556)
#define sos_Ordered_object_type sos_type_object(_sos_Ordered_object_type,sos_Id::make(sos_Container::make(279048),529560))
class sos_Scalar_object: public sos_Root_class
{ friend class _sos_Scalar_object;
class _sos_Scalar_object* _ref;
public:
operator sos_Object ();
static sos_Scalar_object make(sos_Typed_id&);
static sos_Scalar_object make(sos_Typed_id&p,_sos_Scalar_object*r){
sos_Scalar_object o; o._tpid = p; o._ref=r; return o;}
static sos_Scalar_object make(sos_Root_class&);
sos_Offset _size();
static sos_Scalar_object create(sos_Container);
static sos_Scalar_object copy(sos_Scalar_object,sos_Container);
static sos_Scalar_object clone(sos_Scalar_object,sos_Container);
void destroy();
void assign(sos_Object source);
sos_Bool equal(sos_Object o,sos_Eq_kind eq_kind = EQ_STRONG);
sos_Int hash_value();
protected:
static void local_initialize(sos_Scalar_object _p1);
static void local_finalize(sos_Scalar_object _p1);
static void local_assign(sos_Scalar_object _p1,sos_Object _p2);
static sos_Bool local_equal(sos_Scalar_object _p1,sos_Object _p2,sos_Eq_kind _p3);
static sos_Int local_hash_value(sos_Scalar_object _p1);
public:
sos_Type type();
sos_Bool has_type(sos_Type _p1);
sos_Bool isa(sos_Type _p1);
sos_Bool is_some(sos_Type _p1);
sos_Bool is_value();
sos_Int size();
sos_Bool identical(sos_Object _p1);
sos_Bool operator==(sos_Object _p1);
sos_Bool operator!=(sos_Object _p1);
sos_Bool like(sos_Object _p1);
sos_Comp_result compare_ids(sos_Object _p1);
};
#define _sos_Scalar_object_type sos_Id::make(sos_Container::make(15319856),21084)
#define sos_Scalar_object_type sos_type_object(_sos_Scalar_object_type,sos_Id::make(sos_Container::make(279048),529560))
class sos_String: public sos_Root_class
{ friend class _sos_String;
class _sos_String* _ref;
public:
operator sos_Object ();
operator sos_Ordered_object ();
static sos_String make(sos_Typed_id&);
static sos_String make(sos_Typed_id&p,_sos_String*r){
sos_String o; o._tpid = p; o._ref=r; return o;}
static sos_String make(sos_Root_class&);
sos_Offset _size();
static sos_String create(sos_Container);
static sos_String copy(sos_String,sos_Container);
static sos_String clone(sos_String,sos_Container);
void destroy();
sos_Int hash_value();
sos_Cstring make_Cstring();
void operator+=(sos_String _p1);
sos_Comp_result compare(sos_Ordered_object _p1);
sos_Int get_length();
private:
void set_length(sos_Int _p1);
protected:
static void local_assign(sos_String _p1,sos_Object _p2);
static sos_Bool local_equal(sos_String _p1,sos_Object _p2,sos_Eq_kind _p3);
public:
sos_Bool operator<(sos_Ordered_object _p1);
sos_Bool operator<=(sos_Ordered_object _p1);
sos_Bool operator>(sos_Ordered_object _p1);
sos_Bool operator>=(sos_Ordered_object _p1);
sos_Bool has_type(sos_Type _p1);
sos_Bool isa(sos_Type _p1);
sos_Bool operator==(sos_Object _p1);
sos_Bool operator!=(sos_Object _p1);
void assign(sos_Object source);
sos_Bool equal(sos_Object o,sos_Eq_kind eq_kind = EQ_STRONG);
void assign_Cstring(sos_Cstring _p1);
sos_Int size();
private:
sos_Offset get_address();
void set_address(sos_Offset _p1);
protected:
static void local_initialize(sos_String _p1);
static void local_finalize(sos_String _p1);
static sos_Int local_hash_value(sos_String _p1);
public:
sos_Type type();
sos_Bool is_some(sos_Type _p1);
sos_Bool is_value();
sos_Bool identical(sos_Object _p1);
sos_Bool like(sos_Object _p1);
sos_Comp_result compare_ids(sos_Object _p1);
};
#define _sos_String_type sos_Id::make(sos_Container::make(15319856),28364)
#define sos_String_type sos_type_object(_sos_String_type,sos_Id::make(sos_Container::make(279048),529560))
class sos_Named: public sos_Root_class
{ friend class _sos_Named;
class _sos_Named* _ref;
public:
operator sos_Object ();
static sos_Named make(sos_Typed_id&);
static sos_Named make(sos_Typed_id&p,_sos_Named*r){
sos_Named o; o._tpid = p; o._ref=r; return o;}
static sos_Named make(sos_Root_class&);
sos_Offset _size();
static sos_Named create(sos_Container);
static sos_Named copy(sos_Named,sos_Container);
static sos_Named clone(sos_Named,sos_Container);
void destroy();
void assign(sos_Object source);
sos_Bool equal(sos_Object o,sos_Eq_kind eq_kind = EQ_STRONG);
sos_Int hash_value();
sos_String get_name();
void set_name(sos_String _p1);
sos_Type type();
sos_Bool has_type(sos_Type _p1);
sos_Bool isa(sos_Type _p1);
sos_Bool is_some(sos_Type _p1);
sos_Bool is_value();
sos_Int size();
sos_Bool identical(sos_Object _p1);
sos_Bool operator==(sos_Object _p1);
sos_Bool operator!=(sos_Object _p1);
sos_Bool like(sos_Object _p1);
sos_Comp_result compare_ids(sos_Object _p1);
protected:
static void local_assign(sos_Named x,sos_Named y);
static sos_Bool local_equal(sos_Named x,sos_Named y,sos_Eq_kind eq_kind = EQ_STRONG);
static sos_Int local_hash_value(sos_Named x);
};
#define _sos_Named_type sos_Id::make(sos_Container::make(15319856),39164)
#define sos_Named_type sos_type_object(_sos_Named_type,sos_Id::make(sos_Container::make(279048),529560))
class sos_Type: public sos_Root_class
{ friend class _sos_Type;
class _sos_Type* _ref;
public:
operator sos_Object ();
operator sos_Named ();
static sos_Type make(sos_Typed_id&);
static sos_Type make(sos_Typed_id&p,_sos_Type*r){
sos_Type o; o._tpid = p; o._ref=r; return o;}
static sos_Type make(sos_Root_class&);
sos_Offset _size();
static sos_Type create(sos_Container);
static sos_Type copy(sos_Type,sos_Container);
static sos_Type clone(sos_Type,sos_Container);
void destroy();
sos_Int hash_value();
sos_Bool is_derived_from(sos_Type _p1);
sos_Bool is_derived_from_some(sos_Type _p1);
sos_Bool is_scalar();
sos_Type root();
sos_String get_name();
void set_name(sos_String _p1);
sos_Bool has_type(sos_Type _p1);
sos_Bool isa(sos_Type _p1);
sos_Bool operator==(sos_Object _p1);
sos_Bool operator!=(sos_Object _p1);
protected:
static void local_assign(sos_Type x,sos_Type y);
static sos_Bool local_equal(sos_Type x,sos_Type y,sos_Eq_kind eq_kind = EQ_STRONG);
public:
void assign(sos_Object source);
sos_Bool equal(sos_Object o,sos_Eq_kind eq_kind = EQ_STRONG);
sos_Type base();
sos_Int get_object_size();
void set_object_size(sos_Int _p1);
sos_Type type();
sos_Bool is_some(sos_Type _p1);
sos_Bool is_value();
sos_Int size();
sos_Bool identical(sos_Object _p1);
sos_Bool like(sos_Object _p1);
sos_Comp_result compare_ids(sos_Object _p1);
protected:
static sos_Int local_hash_value(sos_Type x);
};
#define _sos_Type_type sos_Id::make(sos_Container::make(15319856),45644)
#define sos_Type_type sos_type_object(_sos_Type_type,sos_Id::make(sos_Container::make(279048),529560))
#endif